home *** CD-ROM | disk | FTP | other *** search
/ GFX Sensations 1 / Graphic Sensations - Volume 1.iso / tools / amiga / misc / eyecand2.lha / EyeCandy02.doc < prev    next >
Encoding:
Text File  |  1994-08-13  |  20.2 KB  |  398 lines

  1.  
  2.     User Document for EyeCandy02 for the
  3.     Commodore AMIGA "family" of computers.     94-08-01
  4.  
  5.  
  6.     I. Introduction to EyeCandy 
  7.     ---------------------------
  8.          EyeCandy is a program that generates various designs to please
  9.     the eye.  This program started life as "SpiroDraw", which simulates
  10.     the spiral drawing toy called SpiroGraph (tm?).  There are additional
  11.     designs that may now be created (thus the new name for the program):
  12.  
  13.              "YarnBall"
  14.              "CircleStar"
  15.              "RotoBoxes"
  16.              "RotoAngle"
  17.              "PolyGen"
  18.  
  19.     As time goes on, I hope to add more designs into the program.
  20.  
  21.          This program is the second release for "EyeCandy".  EyeCandy02
  22.     has been compiled with  ACE (c)David Benn on a Commodore Amiga
  23.     A2000HD computer running OS 2.1, and also tested on an A1000 (1.3).
  24.  
  25.     If you get any enjoyment or productive use from this program, drop
  26.     me a line.  I'd like to receive any comments and suggestions you
  27.     may have and of course, if you REALLY like it, and you find yourself
  28.     using this program to entertain yourself or friends or family with
  29.     it, stick a little $ (how about $5.00 US) in the envelope - please!).
  30.     Thanks go to Bill from Arizona who was the first send some $ my way.
  31.  
  32.     If you have tried this program and do not feel it is worth the
  33.     "asking" fee, _please_, by all means, drop me a line to share
  34.     your thoughts... I promise I will NOT be offended or get hurt
  35.     feelings, etc. !  
  36.  
  37.         Charles E. Kenney, II
  38.         4 Burbank Circle
  39.         Framingham, MA 01701
  40.         USA
  41.               phone: (508) 877-5959
  42.  
  43.     If you send me a disk and a stamped self-addressed disk mailer,
  44.     I will also send you the latest version of "EyeCandy" and any
  45.     other programs I may have since written.
  46.  
  47.     This program may be freely distributed as long as this document
  48.     accompanies the program AND no more than a _small_ non-profit
  49.     fee is charged for copying and or distribution.
  50.  
  51.     EyeCandy02 and its accompanying document (this file) may be
  52.     reproduced on a CD collection (or similar medium).  I only ask
  53.     that I be notified of the particulars, and if possible, that
  54.     a copy of the CD (or whatever) be forwarded to me if possible.
  55.  
  56.     Thanks.
  57.        -ck.
  58.  
  59.     P.S. Thanks again to David Benn for his wonderful compiler, "ACE".
  60.  
  61.  
  62.     II. Program Set-up and Menu Descriptions
  63.     ----------------------------------------
  64.  
  65.     "EyeCandy" starts with default settings for each design type,
  66.     except for the SpiroDraw "mode", which has 8 sets of settings
  67.     in a "cyclable" memory buffer (See "Last" gadget below).  This
  68.     was done so the user can see immediately what "EyeCandy" can
  69.     do without having to set any initial parameters.  Following
  70.     are descriptions of the various menus and resultant actions:
  71.  
  72.     The "Project" menu contains the "standard" Load and Save functions.
  73.     The only design parameters that are complicated enough to warrant
  74.     saving (in my opinion) are for the SpiroDraw designs, so I have
  75.     implemented "Load" and "Save" only for SpiroDraw data.
  76.  
  77.       Load - The user may load data for a previously saved design.
  78.              Data files for SpiroDraw designs always have a ".spd"
  79.              extension.  If the user does not include a ".spd" file
  80.              extension,  "EyeCandy" will add it automatically.
  81.              The current SpiroDraw data is "backed-up" in a memory
  82.              buffer before the data is loaded (See "Last" gadget above).
  83.              "LIBS:arp.library" must be installed on WB 1.3 systems
  84.              in order for the "Load" MENU item to function.
  85.  
  86.       Save - The user may save data for a SpiroDraw design if desired.
  87.              If the user does not include a ".spd" file extension,
  88.              "EyeCandy" will add it automatically.
  89.              "LIBS:arp.library" must be installed on WB 1.3 systems
  90.              in order for the "Save" MENU item to function.
  91.  
  92.       Draw - Draws the selected design for the data and other
  93.              parameters currently in effect for the currently
  94.              selected design.  The user may interrupt a design
  95.              which is in the process of being drawn with the famous
  96.              'CTRL-C' keys or by clicking the Left Mouse Button.
  97.  
  98.       About - A little message about "EyeCandy" and its author...
  99.               ...and a mild little ShareWare nag!
  100.  
  101.       Quit - Well... This is how to exit "EyeCandy"!
  102.  
  103.  
  104.     The "Design" menu contains all the functions
  105.     the user needs to set the design parameters:
  106.  
  107.       Set Data... - Invokes a window which allows the user to specify
  108.                     the different parameters for the currently selected
  109.                     design type.  The user may also invoke a function
  110.                     which randomizes parameters for the current design.
  111.  
  112.       SpiroDraw - Places "EyeCandy" into "SpiroDraw mode" and then invokes
  113.                   the "Set Data" function for SpiroDraw:  A window opens
  114.                   which allows the user to specify three "size" parameters
  115.                   for the SpiroDraw design: Guide Ring, Drawing Wheel and
  116.                   Pen-Hole (see also "A few words about "SpiroDraw" below
  117.                   for a more detailed description of these).
  118.                   Clicking on the "In/Out" gadget cycles the placement
  119.                   of the Drawing Wheel to inside-only, outside-only or
  120.                   both inside-and-outside on the Guide Ring.
  121.                   Clicking on the "Last" gadget "recalls" the last
  122.                   data from the "parameters buffer".  This buffer is
  123.                   capable of holding 8 sets of SpiroDraw design data -
  124.                   (Guide Ring, Drawing Wheel and Pen-Hole parameters).
  125.                   When the user clicks on this gadget, the previous
  126.                   data in use before the current data is placed into
  127.                   the current data and the other 7 sets of data are
  128.                   "bubbled-up", with the current data being "sent down"
  129.                   to the 8th set of data.  Note that any time the user
  130.                   modifies the current data by loading new data from
  131.                   disk, by exiting the "Set Data..." window after
  132.                   making changes, or by selecting the "Random" gadget,
  133.                   (see below), the current data is "backed-up" to the
  134.                   "1st" buffer, the "1st" to the "2nd", the "2nd" to
  135.                   the "3rd", etc.  The "8th" set of data simply gets
  136.                   "pushed off the cliff" and is lost forever.
  137.                   Clicking on the "Random" gadget randomizes the design
  138.                   sizes for the Guide Ring, Drawing Wheel and Pen-hole.
  139.                   The current data is "backed-up" before the data is
  140.                   randomized (See "Last" gadget description above).
  141.                   Clicking on the "Done" gadget exits this function
  142.                   and the user is asked whether or not to draw the
  143.                   new design using the new design parameters.
  144.  
  145.       Detail... (SpiroDraw only, "ghosted" for other design selections) -
  146.                 Invokes a window which allows the user to specify how
  147.                 detailed the SpiroDraw design will be.
  148.                 Clicking on the "Next" gadget cycles through all possible
  149.                 choices (each selection in the order below causes the
  150.                 design to take progressively longer to be drawn):
  151.  
  152.                    DOTTY   - plots dots at visible intervals rather than
  153.                              drawing a continuous line while the design
  154.                              is being drawn (dots may be connected with
  155.                              a line between each dot - see the description
  156.                              for the "Connect Dots" menu item below).
  157.  
  158.                    SKETCHY - plots dots at smaller intervals than "DOTTY"
  159.  
  160.                    COARSE  - plots dots at _really_ small intervals.
  161.  
  162.                    FINE    - plots dots so close together that they are
  163.                              a continuous line when "SpiroDraw" draws.
  164.  
  165.       Connect Dots (SpiroDraw only, "ghosted" for other design selections) -
  166.                    The user may "check-mark" this menu item to connect the
  167.                    dots plotted with lines to give the design a continuous-
  168.                    line appearance.  This menu item is automatically disabled
  169.                    if the user selects "FINE" in the "Detail..." menu
  170.                    (see above) since the design will already have a
  171.                    continuous appearance.
  172.  
  173.       YarnBall - Places "EyeCandy" into "YarnBall mode" and then invokes
  174.                  the "Set Data" function for YarnBall:  A window opens
  175.                  which allows the user to specify the two design parameters
  176.                  required for drawing the "YarnBall" design:
  177.                  Size and number of spokes.  This design is easier seen than
  178.                  explained so I will leave it to the user to experiment.
  179.  
  180.       CircleStar - Places "EyeCandy" into "CircleStar mode" and then invokes
  181.                    the "Set Data" function for CircleStar:  A window opens
  182.                    which allows the user to specify three design parameters
  183.                    required for drawing the "CircleStar" design:
  184.                    Size, number of spokes and number of "radial" divisions.
  185.                    Again, this design is easier seen than explained so I
  186.                    will  leave it to the user to experiment.
  187.  
  188.       RotoBoxes - Places "EyeCandy" into "RotoBoxes mode" and then invokes
  189.                   the "Set Data" function for RotoBoxes:  A window opens
  190.                   which allows the user to specify the design parameters
  191.                   for drawing the "RotoBox" design:  Size, number of sides
  192.                   on polygons and a growth factor.  The user may also choose
  193.                   different "pieces" of the RotoBoxes to draw (there are
  194.                   sixteen to choose from).  Again, this design is easier
  195.                   seen than explained.
  196.  
  197.       RotoAngle - Places "EyeCandy" into "RotoAngle mode" and then invokes
  198.                   the "Set Data" function for RotoAngle:  A window opens
  199.                   which allows the user to specify three design parameters
  200.                   required for drawing the "RotoAngle" design:  Size, angle
  201.                   to draw the "next" segment at, and a "line" growth factor.
  202.                   Again, this design is easier seen than explained.
  203.  
  204.       PolyGen - Places "EyeCandy" into "PolyGen mode" and then invokes
  205.                 the "Set Data" function for PolyGen:  A window opens
  206.                 which allows the user to specify three design parameters
  207.                 required for drawing the "PolyGen" design:  Number of sides
  208.                 on the polygons, angle to draw "next" polygon (from last
  209.                 polygon) and growth factor for the polygons.  There is
  210.                 also a "Spokes" gadget which enables to user to vary the
  211.                 "PolyGen" design in six different ways.  Yes, this design
  212.                 is also easier seen than explained!
  213.  
  214.  
  215.     The "Preferences" menu contains the following functions:
  216.  
  217.       Ask Save (SpiroDraw only) - When data is changed, the user is
  218.                asked whether or not to save the "old" data if this
  219.                menu item is "check-marked".  "UN-check-marking" this
  220.                menu item stops "EyeCandy" from asking each time the
  221.                data is changed.  "EyeCandy" _always_ asks the user
  222.                whether to save the new data (if it has been changed)
  223.                when the "Quit" menu item is selected, regardless of
  224.                the "check-mark" status of this menu item.  The file,
  225.                "LIBS:arp.library" must be installed on WB 1.3 systems
  226.                in order for the "Ask Save" MENU item to be enabled
  227.                (See also "Load" and "Save" above).
  228.  
  229.       Show Activity (SpiroDraw only) - When this item is "check-marked",
  230.                a running '% completed' is displayed in the upper left
  231.                corner of the 'drawing window'.  This is done to show that
  232.                "EyeCandy" is "doing something" and to give the user an
  233.                idea of how long it will take to draw the design.  It is
  234.                difficult to see the design actually being drawn sometimes
  235.                if the Pen-Hole value is very near zero or if the sizes of
  236.                the Guide Ring and the Drawing Wheel are nearly equal.
  237.                There are instances when the "% completed" message would
  238.                ruin the appearance of the design so to avoid this, the
  239.                user may "UN-check-mark" this "Show Activity" menu item.
  240.  
  241.       Clear Canvas - The user may "check-mark" this menu item to clear
  242.                      the drawing "canvas" before drawing each design.
  243.                      If this menu item is not "check-marked" then many
  244.                      designs can be drawn "on top of" each other.
  245.  
  246.       Visual Round - If the user selects "Visual Round", designs will be
  247.                      drawn with a circular appearance on the screen.
  248.  
  249.       Screen Round - If the user selects "Screen Round", designs will be
  250.                      drawn with a slightly oval appearance on the screen,
  251.                      but this is a useful selection if the design "window"
  252.                      is "saved" as an IFF file (using one of those nice
  253.                      "screen-capture-to-IFF-file" programs and then
  254.                      imported into a paint package capable of animation.
  255.                      Once this is done, the design can be rotated in a
  256.                      "Paint" program while maintaining its "roundness".
  257.                      This has been used successfully by me with DPaint.
  258.  
  259.       Window Round - If the user selects "Window Round", designs will be
  260.                      drawn with an elliptical appearance on the screen,
  261.                      with the height-to-width ratio of the ellipse set
  262.                      to approximate the height-to-width ratio of the
  263.                      current window.
  264.              
  265.       Resolution... - Invokes a window which allows the user to specify
  266.                       different screen resolutions.  Clicking on the
  267.                       "Next" gadget cycles through all possible choices:
  268.  
  269.                       If the user selects "LOW" then "EyeCandy" will
  270.                       change to low resolution (320 x 200 screen).
  271.                       If the user selects "MEDIUM" then "EyeCandy" will
  272.                       change to medium resolution (640 x 200 screen).
  273.                       If the user selects "HIGH" then "EyeCandy" will
  274.                       change to high resolution (640 x 400 screen).
  275.  
  276.  
  277.     III.  A few words about "SpiroDraw"
  278.     --------------------------------------
  279.  
  280.          The Guide Ring was, for the child's toy, the plastic ring with
  281.     "gearing" on each side that was so hard to hold perfectly in place
  282.     on the paper while winding the Drawing Wheel around the inside or
  283.     outside of the Guide Ring.  Even pinning the Guide Ring down through
  284.     the paper onto cardboard was never much help either!  "SpiroDraw"
  285.     holds the Guide Ring in place quite nicely though.  "SpiroDraw"
  286.     always places the Guide Ring in the center of the screen.
  287.  
  288.          The Drawing Wheel was, for the child's toy, the plastic "wheel"
  289.     with "gearing" (to mesh with the Guide Ring) that was so hard to keep
  290.     engaged to the gearing of the Guide Ring while winding the Drawing
  291.     Wheel around the inside or outside of the Guide Ring.  If you went
  292.     too slowly you would sometimes get "stuck" due to the "cam" effect
  293.     of the pen-hole in the Drawing Wheel that you had chosen, especially
  294.     if you chose a pen-hole way out near the edge of the Drawing Wheel!
  295.     If you went too fast, the gearing between the Drawing Wheel and the
  296.     Guide Ring would slip or disengage altogether and you would draw a
  297.     nice ugly, frantic and ruinous line across your design!  This was
  298.     REALLY frustrating, especially if you were "almost done"... and only
  299.     6 years old!  "SpiroDraw" will never know gear slips and getting
  300.     stuck by the "cam" effect!
  301.  
  302.          The "Pen-Hole" was, for the child's toy, the little hole in the
  303.     Drawing Wheel (there were lots of these little holes in each wheel)
  304.     that you would put your pen into which would determine the "character"
  305.     of the design - the holes closest to the center of the Drawing Wheel
  306.     would produce "circular" designs (for "SpiroDraw", small values for
  307.     the Pen-hole distance from the center of the Drawing Wheel), and the
  308.     holes closest to the edges of the Drawing Wheel would produce very
  309.     "spirally" designs  (for "SpiroDraw", large values for the Pen-hole
  310.     distance from the center of the Drawing Wheel).  Note that "SpiroDraw"
  311.     allows a distance for the Pen-hole which is larger than the radius of
  312.     the Drawing Wheel but only within practical limits depending upon whether
  313.     the 'current' screen resolution is LOW, MEDIUM or HIGH.  You may go ahead
  314.     and TRY putting a pen into a hole on the Drawing Wheel that is larger
  315.     than the Drawing Wheel itself using the child's toy!
  316.  
  317.  
  318.     IV.  A few words about "YarnBall" and "CircleStar"
  319.     --------------------------------------------------
  320.  
  321.          Many (and I _do_ mean many) years ago, while doodling in Art
  322.     class at school I came upon (or was shown by somebody) these two
  323.     "designs".  Remembering the fun I had drawing these by hand, I
  324.     decided to implement them into this program.  Hopefully I won't
  325.     be the only one now to get some enjoyment from doodling with these
  326.     two little designs.
  327.  
  328.  
  329.     V.  A few words about "RotoBoxes" and "RotoAngle"
  330.     -------------------------------------------------
  331.  
  332.          These designs were inspired by Dave Haynie's article in
  333.     AmigaWorld magazine about 'C' programming.  I was trying to
  334.     come up with a few more designs that would be interesting to
  335.     add for EyeCandy02 and along came this little article.  I have
  336.     expanded upon the designs somewhat to give the user a few more
  337.     options when setting design data for the two design generators.
  338.     These two design generators were new for "EyeCandy02".
  339.  
  340.  
  341.     VI.  A few words about "PolyGen"
  342.     --------------------------------
  343.  
  344.     After implementing "RotoBoxes" and "RotoAngle", I decided to
  345.     implement a "tunnely" design generator.  In fact, this one
  346.     initially started out being named "Tunnels" until I came up
  347.     with the "Spokes" modifier which made many design variations
  348.     possible which did not look at all very "tunnely".  So I just
  349.     changed the name of the design generator to "PolyGen".
  350.     This design generator was new for "EyeCandy02".
  351.  
  352.  
  353.     V.  What about futures?
  354.     -----------------------
  355.  
  356.     I am hoping to add still more design generators over time.
  357.     Comments, suggestions, ideas for new design generators and
  358.     features, and yes, criticisms in general are also welcome.
  359.     Please write!
  360.  
  361.  
  362.     VI.  A "useful" way to use this program
  363.          (depending on your definition of "useful")
  364.     -----------------------------------------------
  365.  
  366.          Here is a neat little tidbit for using this program with a
  367.     Paint package (if you would like to play with or animate any of
  368.     your designs that you generate with this program):
  369.  
  370.          For DPaint, anyway, this works nicely...
  371.  
  372.          1.  Start up a "screen-saver" program "in the background"
  373.              which is capable of saving a screen as an IFF file.
  374.              I have used "PictSaver" by Preben Nielsen successfully.
  375.  
  376.          2.  Generate your design after "check-marking" the menu item,
  377.              "Screen Roundness".  This is known to work for DPaint.
  378.  
  379.          3.  Once the design has finished being generated, execute
  380.              whatever key sequence is required by the "screen saver"
  381.              program you have and save the "screen" onto which the
  382.              "EyeCandy" design has been drawn, as an IFF file.
  383.  
  384.          4.  Call up your Paint package and do whatever.  I have
  385.              had fun "rolling" my designs across the screen or
  386.              "into the distance" or even using the design as a
  387.              circular border for other brushes, etc.
  388.  
  389.  
  390.     The first code which produced SpiroDraw designs
  391.     was initially written on a Commodore-64 in 1984.
  392.  
  393.     As of the first writing of this document
  394.     (for the SpiroDraw01 release), 94-02-17,
  395.     this program was only 3 days shy of its 10th birthday!
  396.  
  397.     "A DECADE IN THE MAKING!"
  398.